<?php
/**
 * Nuwani PHP IRC Bot Framework
 * Copyright (c) 2006-2010 The Nuwani Project
 *
 * Nuwani is a framework for IRC Bots built using PHP. Nuwani speeds up bot 
 * development by handling basic tasks as connection- and bot management, timers
 * and module managing. Features for your bot can easily be added by creating
 * your own modules, which will receive callbacks from the framework.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @copyright Copyright (c) 2006-2011 The Nuwani Project
 * @author Peter Beverloo <peter@lvp-media.com>
 * @author Dik Grapendaal <dik.grapendaal@gmail.com>
 * @see http://nuwani.googlecode.com
 */

//namespace Nuwani;

/**
 * Uno Nuwani Module
 * 
 * @copyright Copyright (c) 2011 The Nuwani Project, http://nuwani.googlecode.com/
 * @author Dik Grapendaal <dik.grapendaal@gmail.com>
 * @version $Id: UnoStrings.php 148 2011-07-26 19:10:23Z dik.grapendaal $
 * @package Modules
 */

class UnoStrings
{
        /**
         * The IRC commands.
         * 
         * You'll notice how there is no short and long versions of the stop
         * command. This is to prevent accidental stopping of the game while
         * playing Uno and chatting in between the turns.
         */
        
        const   COMMAND_JOIN_SHORT              = 'jo';
        const   COMMAND_JOIN_LONG               = 'join';
        const   COMMAND_START_SHORT             = 'st';
        const   COMMAND_START_LONG              = 'start';
        const   COMMAND_STATUS                  = 'status';
        const   COMMAND_CARDS_SHORT             = 'ca';
        const   COMMAND_CARDS_LONG              = 'cards';
        const   COMMAND_STOP                    = 'stop';
        const   COMMAND_PLAY_SHORT              = 'pl';
        const   COMMAND_PLAY_LONG               = 'play';
        const   COMMAND_DRAW_SHORT              = 'dr';
        const   COMMAND_DRAW_LONG               = 'draw';
        const   COMMAND_PASS_SHORT              = 'pa';
        const   COMMAND_PASS_LONG               = 'pass';
        const   COMMAND_SHUFFLE                 = 'shuffle';
        
        /**
         * Engine messages.
         */
        
        const   UNEXPECTED_CONDITION            = 'Unexpected condition reached. This is a bug.';
        const   INVALID_CARD                    = 'Invalid card object.';
        const   NO_CARD_SUPPLIED                = 'No card supplied.';
        const   INVALID_CARD_SUPPLIED           = 'Invalid card supplied.';
        const   INVALID_COLOR_SUPPLIED          = 'Invalid color supplied.';
        const   INVALID_CARD_OR_COLOR_SUPPLIED  = 'Invalid card or color supplied.';
        const   INVALID_NOTATION_USED           = 'Invalid notation used.';
        const   NEED_TO_SPECIFY_COLOR           = 'You must supply a color to change to.';
        const   AT_LEAST_TWO_PLAYERS            = 'You need at least two players to play Uno.';
        const   PLAYER_JOINED                   = '%s has joined the game.';
        const   PLAYER_JOINED_READY             = '%s has joined the game, the game can now be started.';
        const   PLAYER_ALREADY_JOINED           = '%s is already in the game.';
        const   DECK_SHUFFLED                   = 'The deck has been shuffled.';
        
        /**
         * Gameplay messages.
         */
        
        const   GAME_STARTED                    = 'The Uno game has begun!';
        const   GAME_STOPPED                    = 'The Uno game has been stopped.';
        const   CANNOT_JOIN_WHILST_ACTIVE       = 'Cannot join the game whilst a game is active.';
        const   DONT_HAVE_CARD                  = 'You don\'t have that card.';
        const   DONT_HAVE_SPECIFIC_CARD         = 'You don\'t have card %s.';
        const   INVALID_CARD_PLAYED             = 'You tried to play an invalid card.';
        const   PLAYED_CARD                     = '%s played %s.';
        const   PLAYED_CARD_PICK_UP             = '%s played %s, making %s pick up %s cards.';
        const   PLAYED_CARD_SKIPPED_ONE         = '%s played %s and skipped %s\'s turn.';
        const   PLAYED_CARD_SKIPPED_MULTIPLE    = '%s played %s and skipped %s turns.';
        const   PLAYED_CARD_REVERSED            = '%s played %s and reversed the order.';
        const   PLAYED_WILDCARD_CHANGED_COLOR   = '%s played %s, changing the suit to %s.';
        const   PLAYED_WD_CHANGED_COLOR         = '%s played %s making %s pick up %s cards, and changed the suit to %s.';
        const   DREW_CARD                       = '%s drew a card.';
        const   ALREADY_DREW_CARD               = 'You\'ve already drawn a card. If you can\'t play it, pass your turn.';
        const   PASSED_TURN                     = '%s passed his/her turn.';
        const   ONLY_PASS_AFTER_DRAW            = 'You can\'t pass your turn without drawing a card.';
        const   CAN_ONLY_PLAY_DRAWN_CARD        = 'You can only play the card you just drew.';
        const   STACK_BEGIN_WITH_DRAWN_CARD     = 'The stack must begin with the drawn card.';
        const   STACK_CARD_SUPPLIED_AT_FRONT    = 'The card you supplied for the end of the stack must be used at the front.';
        const   CURRENT_TURN                    = '%s\'s turn with %s cards. Playing on %s.';
        const   PLAYER_HAS_UNO                  = '%s has Uno!';
        const   PLAYER_HAD_CARDS                = '%s had cards %s, totalling %s points.';
        const   PLAYER_HAS_WON                  = '%s has won this game in %s, and earned %s points!';
        
        /**
         * Private messages.
         */
        
        const   PLAYER_CARDS                    = 'Cards: %s';
        const   PLAYER_CARDS_NEW                = 'Cards: %s | New: %s';
}